const faker = require('faker');

faker.locale = 'zh_CN';

// ****************************任务**********************
// 审批任务列表
const Approver = ['何明', '王红', '张婷', '赵亮', '陈浩'];
const ApprStatus = ['待审批', '部分同意', '已同意', '已拒绝', '已打回'];
const approveList = [];
for (let i = 0; i < 20; i++) {
  approveList.push({
    orderId: faker.random.uuid(),
    submissionTime: Date.now(),
    submitter: Math.floor(Math.random() * 6),
    endorsementType: Math.floor(Math.random() * 5),
    endorsementStatus: ApprStatus[Math.floor(Math.random() * ApprStatus.length)],
    endorsementTime: (new Date()).toLocaleDateString(),
    endorsers: Approver[Math.floor(Math.random() * Approver.length)],
    remark: '备注信息'
  });
}

export default {
  getApproveList: () => ({
    status: 0,
    obj: {
      pageSize: 20,
      pageNum: 1,
      totalNum: 82,
      records: approveList
    }
  }),
  updateApprove: () => ({
    status: 0,
    comment: '描述信息',
    obj: {
      orderId: faker.random.uuid(),
      submissionTime: Date.now(),
      submitter: Math.floor(Math.random() * 6),
      endorsementType: Math.floor(Math.random() * 5),
      endorsementStatus: ApprStatus[Math.floor(Math.random() * ApprStatus.length)],
      endorsementTime: (new Date()).toLocaleDateString(),
      endorsers: Approver[Math.floor(Math.random() * Approver.length)],
      remark: '备注信息'
    }
  }),
  detailApprove: () => {
    const detail = {
      status: 0,
      creator: Math.floor(Math.random() * 3),
      demander: Math.floor(Math.random() * 3),
      demand1LevelDept: Math.floor(Math.random() * 3),
      demand2LevelDept: Math.floor(Math.random() * 3),
      transferTime: (new Date()).getTime(),
      outboundStorehouse: Math.floor(Math.random() * 3),
      inboundStorehouse: Math.floor(Math.random() * 3),
      nextInboundOrder: faker.random.number(9999999), // 下联入库号
      nextOutboundOrder: faker.random.number(9999999), // 下联出库号
      remark: '我是备注',
      skuArray: []
    };
    for (let i = 0; i < 3; i++) {
      detail.skuArray.push({
        sku: faker.random.uuid(6), // --SKU唯一识别码
        name: `名称${i}`, // --名称
        brand: `品牌${i}`, // --品牌
        specification: `规格${i}`, // --规格
        unit: `单位${i}`, // --单位
        quantity: faker.random.number(99000), // --数量
        batchNo: faker.random.uuid(8), // --批号
        productionDate: Date.now(), // --生产日期
        validityDate: Date.now(), // --有效日期
        serialNo: faker.random.uuid(8), // --序列号
        outboundStorehouse: `调出仓库${i}`, // --调出仓库
        outboundStorageSite: `调出仓位${i}`, // --调出仓位
        inboundStorehouse: `调入仓库${i}`, // --调入仓库
        inboundStorageSite: `调入仓位${i}`, // --调入仓位
      });
    }
    return {
      status: 0,
      obj: detail
    };
  },
  // 撤回
  verbApprove: () => ({
    status: 0,
    comment: '描述信息',
    obj: Math.round(Math.random())
  }),
  // 删除
  deleteApprove: () => ({
    status: 0,
    comment: '描述信息',
    obj: Math.round(Math.random())
  }),
  // 同意
  agreeApprove: () => ({
    status: 0,
    comment: '描述信息',
    obj: Math.round(Math.random())
  }),
  // 拒绝
  rejectApprove: () => ({
    status: 0,
    comment: '描述信息',
    obj: Math.round(Math.random())
  }),
  // 打回
  returnApprove: () => ({
    status: 0,
    comment: '描述信息',
    obj: Math.round(Math.random())
  }),
  // 审批撤回
  revokeApprove: () => ({
    status: 0,
    comment: '描述信息',
    obj: Math.round(Math.random())
  })
};
